drop table jms_dm.dm_shipno_change_list_dt ;
CREATE EXTERNAL TABLE jms_dm.dm_shipno_change_list_dt
(
  datetime string COMMENT '任务日期',
  shipmentno string COMMENT '任务号',
  type       tinyint COMMENT '变更类型;1、delete删除,2、append增加'
)
COMMENT '干线任务号变更表'
 PARTITIONED BY (dt string COMMENT '日期(yyyy-MM-dd)')
 STORED AS PARQUET
 LOCATION '/dw/hive/jms_dm.db/external/dm_shipno_change_list_dt'
 TBLPROPERTIES (
 'discover.partitions'='false',
 'parquet.column.index.access'='true'
 );

drop table jms_dm.dm_shipno_change_detail_dt ;
CREATE EXTERNAL TABLE jms_dm.dm_shipno_change_detail_dt(
  datetime string COMMENT '任务日期',
  billcode string COMMENT '运单编号',
  shipmentno string COMMENT '任务号',
  start_network_code string COMMENT '出发网点code',
  end_network_code string COMMENT '目的网点code',
  planneddeparturetime timestamp COMMENT '计划离开时间',
  actualdeparturetime timestamp COMMENT '实际离开时间',
  plannedarrivaltime timestamp COMMENT '计划到达时间',
  actualarrivaltime timestamp COMMENT '实际到达时间',
  vehiclelinecode string COMMENT '参考车线编码',
  vehiclelinename string COMMENT '参考车线名称',
  shipmentstate string COMMENT '任务状态,待调度0 已调度1 待执行2 在途3 已完成4 已作废5',
  bill_weight decimal(10,2) COMMENT '逻辑重量：优先取第一个中心到件重量,若无则顺延:下一个扫描类型集散到件重量、入仓重量、收件重量、运单重量',
  waybill_weight decimal(10,2) COMMENT '运单表中运单重量',
  taking_weight decimal(10,2) COMMENT '揽收重量',
  housing_weight decimal(10,2) COMMENT '入仓重量',
  site_weight decimal(10,2) COMMENT '网点到件重量',
  firstarrival_weight decimal(10,2) COMMENT '始发中心到件重量',
  firstsend_weight decimal(10,2) COMMENT '始发中心发件重量',
  start_network_name string COMMENT '出发网点名称',
  end_network_name string COMMENT '目的网点名称',
  start_handling_type string COMMENT '发车网点装卸类型',
  end_handling_type string COMMENT '到车网点装卸类型',
  shipment_name string COMMENT '任务名称',
  billing_way smallint COMMENT '计费方式(1：整车计重、2：零担计重、3：按趟计费)',
  cnt smallint COMMENT '途径地数量',
  is_arri smallint COMMENT '是否到件(1:已到件,2:未到件)',
  update_time timestamp COMMENT '更新时间',
  firstarrival_code string COMMENT '最早到件中心网点编码',
  firstsend_code string COMMENT '最早发件中心网点编码',
  uid   bigint    COMMENT 'uid',
  is_delete tinyint COMMENT '是否废弃;1:正常,2:废弃')
COMMENT '干线任务明细变更表'
 PARTITIONED BY (dt string COMMENT '日期(yyyy-MM-dd)')
 STORED AS PARQUET
 LOCATION '/dw/hive/jms_dm.db/external/dm_shipno_change_detail_dt'
 TBLPROPERTIES (
 'discover.partitions'='false',
 'parquet.column.index.access'='true'
 );

drop table jms_dm.dm_shipno_change_sum_dt ;
 CREATE EXTERNAL TABLE jms_dm.dm_shipno_change_sum_dt(
  datetime string COMMENT '任务日期',
  shipmentno string COMMENT '任务号',
  start_network_code string COMMENT '出发网点code',
  end_network_code string COMMENT '目的网点code',
  shipment_name string COMMENT '任务名称',
  start_network_name string COMMENT '出发网点名称',
  end_network_name string COMMENT '目的网点名称',
  billing_way smallint COMMENT '计费方式(1：整车计重、2：零担计重、3：按趟计费)',
  shipment_state smallint COMMENT '任务状态,待调度0 已调度1 待执行2 在途3 已完成4 已作废5',
  loading_weight decimal(10,2) COMMENT '装车重量',
  unloading_weight decimal(10,2) COMMENT '卸车重量',
  planned_departure_time timestamp COMMENT '计划离开时间',
  actual_departure_time timestamp COMMENT '实际离开时间',
  planned_arrival_time timestamp COMMENT '计划到达时间',
  actual_arrival_time timestamp COMMENT '实际到达时间',
  update_time timestamp COMMENT '更新时间',
  is_delete tinyint COMMENT '是否废弃;1:正常,2:废弃')
COMMENT '干线任务汇总变更表'
 PARTITIONED BY (dt string COMMENT '日期(yyyy-MM-dd)')
 STORED AS PARQUET
 LOCATION '/dw/hive/jms_dm.db/external/dm_shipno_change_sum_dt'
 TBLPROPERTIES (
 'discover.partitions'='false',
 'parquet.column.index.access'='true'
 );


drop table jms_dm.dm_shipno_weight_detail_dt ;
CREATE EXTERNAL TABLE jms_dm.dm_shipno_weight_detail_dt(
  datetime string COMMENT '任务日期',
  billcode string COMMENT '运单编号',
  shipmentno string COMMENT '任务号',
  start_network_code string COMMENT '出发网点code',
  end_network_code string COMMENT '目的网点code',
  planneddeparturetime timestamp COMMENT '计划离开时间',
  actualdeparturetime timestamp COMMENT '实际离开时间',
  plannedarrivaltime timestamp COMMENT '计划到达时间',
  actualarrivaltime timestamp COMMENT '实际到达时间',
  vehiclelinecode string COMMENT '参考车线编码',
  vehiclelinename string COMMENT '参考车线名称',
  shipmentstate string COMMENT '任务状态,待调度0 已调度1 待执行2 在途3 已完成4 已作废5',
  bill_weight decimal(10,2) COMMENT '逻辑重量：优先取第一个中心到件重量,若无则顺延:下一个扫描类型集散到件重量、入仓重量、收件重量、运单重量',
  waybill_weight decimal(10,2) COMMENT '运单表中运单重量',
  taking_weight decimal(10,2) COMMENT '揽收重量',
  housing_weight decimal(10,2) COMMENT '入仓重量',
  site_weight decimal(10,2) COMMENT '网点到件重量',
  firstarrival_weight decimal(10,2) COMMENT '始发中心到件重量',
  firstsend_weight decimal(10,2) COMMENT '始发中心发件重量',
  start_network_name string COMMENT '出发网点名称',
  end_network_name string COMMENT '目的网点名称',
  start_handling_type string COMMENT '发车网点装卸类型',
  end_handling_type string COMMENT '到车网点装卸类型',
  shipment_name string COMMENT '任务名称',
  billing_way smallint COMMENT '计费方式(1：整车计重、2：零担计重、3：按趟计费)',
  cnt smallint COMMENT '途径地数量',
  is_arri smallint COMMENT '是否到件(1:已到件,2:未到件)',
  update_time timestamp COMMENT '更新时间',
  firstarrival_code string COMMENT '最早到件中心网点编码',
  firstsend_code string COMMENT '最早发件中心网点编码',
  uid   bigint    COMMENT  'uid',
  is_delete tinyint COMMENT '是否废弃;1:正常,2:废弃')
COMMENT '干线重量明细'
 PARTITIONED BY (dt string COMMENT '日期(yyyy-MM-dd)')
 STORED AS PARQUET
 LOCATION '/dw/hive/jms_dm.db/external/dm_shipno_weight_detail_dt'
 TBLPROPERTIES (
 'discover.partitions'='false',
 'parquet.column.index.access'='true'
 );


ALTER TABLE jms_dm.dm_shipno_weight_detail_dt ADD COLUMNS (is_arri_innormal int COMMENT '是否异常卸车 1：是 0：否') CASCADE;
ALTER TABLE jms_dm.dm_shipno_weight_detail_dt ADD COLUMNS (shipmentno_innormal string COMMENT '异常任务单号') CASCADE;
ALTER TABLE jms_dm.dm_shipno_weight_detail_dt ADD COLUMNS (shipment_name_innormal string COMMENT '异常任务单') CASCADE;
ALTER TABLE jms_dm.dm_shipno_weight_detail_dt ADD COLUMNS (package_code string COMMENT '包号') CASCADE;

ALTER TABLE jms_dm.dm_shipno_weight_detail_dt ADD COLUMNS (is_rough_judgement int COMMENT '是否粗判 0:否 1:是') CASCADE;
ALTER TABLE jms_dm.dm_shipno_weight_detail_dt ADD COLUMNS (compare_shipment_list string COMMENT '对比任务号') CASCADE;

ALTER TABLE jms_dm.dm_shipno_weight_detail_dt ADD COLUMNS (vehicletype_id string COMMENT '车型ID') CASCADE;
ALTER TABLE jms_dm.dm_shipno_weight_detail_dt ADD COLUMNS (vehicletype_name string COMMENT '车型名称') CASCADE;
ALTER TABLE jms_dm.dm_shipno_weight_detail_dt ADD COLUMNS (settlement_vehicle_type_id string COMMENT '结算车型ID') CASCADE;
ALTER TABLE jms_dm.dm_shipno_weight_detail_dt ADD COLUMNS (settlement_vehicle_type_name string COMMENT '结算车型名称') CASCADE;
ALTER TABLE jms_dm.dm_shipno_weight_detail_dt ADD COLUMNS (is_loading int COMMENT '是否装车') CASCADE;


 drop table jms_dm.dm_shipno_weight_sum_dt ;
 CREATE EXTERNAL TABLE jms_dm.dm_shipno_weight_sum_dt(
  datetime string COMMENT '任务日期',
  shipmentno string COMMENT '任务号',
  start_network_code string COMMENT '出发网点code',
  end_network_code string COMMENT '目的网点code',
  shipment_name string COMMENT '任务名称',
  start_network_name string COMMENT '出发网点名称',
  end_network_name string COMMENT '目的网点名称',
  billing_way smallint COMMENT '计费方式(1：整车计重、2：零担计重、3：按趟计费)',
  shipment_state smallint COMMENT '任务状态,待调度0 已调度1 待执行2 在途3 已完成4 已作废5',
  loading_weight decimal(10,2) COMMENT '装车重量',
  unloading_weight decimal(10,2) COMMENT '卸车重量',
  planned_departure_time timestamp COMMENT '计划离开时间',
  actual_departure_time timestamp COMMENT '实际离开时间',
  planned_arrival_time timestamp COMMENT '计划到达时间',
  actual_arrival_time timestamp COMMENT '实际到达时间',
  update_time timestamp COMMENT '更新时间',
  is_delete tinyint COMMENT '是否废弃;1:正常,2:废弃')
COMMENT '干线重量汇总'
 PARTITIONED BY (dt string COMMENT '日期(yyyy-MM-dd)')
 STORED AS PARQUET
 LOCATION '/dw/hive/jms_dm.db/external/dm_shipno_weight_sum_dt'
 TBLPROPERTIES (
 'discover.partitions'='false',
 'parquet.column.index.access'='true'
 );

